package example.prototype.simple;

public class CloneTest {

    public static void main(String[] args) {
        ConcretePrototype cp = new ConcretePrototype();
        cp.list.add("aaa");
        cp.setAge(10);
        try {
            ConcretePrototype clone = (ConcretePrototype) cp.clone();
            System.out.println(clone.toString());

            // true  虽然说对象不一样了，但是两个对象中的list的引用是一样的，这是浅拷贝
            // 想用深拷贝，在 ConcretePrototype 里面有改造
            System.out.println(clone.list == cp.list);
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
    }
}
